package com.tcm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tcm.entity.Leader;
import com.tcm.entity.dto.param.LeaderUpdateParam;
import com.tcm.entity.vo.LeaderListResult;
import com.tcm.exception.DatabaseOperationException;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 课程组组长管理业务接口
 * @author Guqier
 * @version 1.0
 * @date 2023/7/18 16:22
 */
public interface LeaderService extends IService<Leader> {
    @Transactional
    boolean addLeaderRelationship(LeaderUpdateParam param, Long currUserId) throws DatabaseOperationException;

    @Transactional
    boolean removeLeaderRelationship(Long id, Long currUserId);

    @Transactional
    boolean modifyLeaderRelationship(LeaderUpdateParam param, Long currUserId);

    List<LeaderListResult> getLeaderRelationshipList(Long termId);
}
